﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using Telerik.Web.UI;
using Estrutura;
using Banco;
using Negocio;
using Frame;

public partial class Cadastros_Aluno_cadastro : System.Web.UI.Page
{
    //objetos publicos da classe
    public string turExcluido { get; set; }
    
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //inicializar variáreis
            turExcluido = "0";

            if (!string.IsNullOrEmpty(Request.QueryString["operacao"]))
                hid_operacao.Value = Request.QueryString["operacao"];

            if (hid_operacao.Value == "edit")
            {                                
                if (!string.IsNullOrEmpty(Request.QueryString["ALUNO_ID"]))
                {
                    aluno_id.Text = Request.QueryString["ALUNO_ID"];
                    carregarAluno(aluno_id.Text);
                }
            }
            else if (hid_operacao.Value == "insert")
            {
                aluno_id.Text = "NEW";
                RadTabStrip1.Enabled = false;                
                alu_stexcluido.Enabled = false;
                
            }
        }
    }

    //selecionar itens no componete TABSTRIP
    protected void RadTabStrip1_TabClick(object sender, Telerik.Web.UI.RadTabStripEventArgs e)
    {
        
        if (e.Tab.Text == "Responsáveis")
        {
            mskResp_cpf.Focus();
            imgbPersistirResp.Visible = (lbl_alu_stexcluido.ForeColor != Color.Red);
        }
        else if (e.Tab.Text == "Endereços")
        {
            end_cep.Focus();
            imgbPersistirEnd.Visible = (lbl_alu_stexcluido.ForeColor != Color.Red);
        }
        else if (e.Tab.Text == "Matriculas")
        {
            mat_txparticipacao.Text = new BD_Parametro()._obter_Parametro_by_id(string.Empty, "taxa_festival").PRM_VALOR;
            imgbPersistirMat.Visible = (lbl_alu_stexcluido.ForeColor != Color.Red);

            //carregar informações sobre responsáveis/parentesco
            if (new BD_Responsavel()._validar_Pessoa_Parentesco_Aluno(string.Empty, aluno_id.Text).BOLSARESP)
            {
                lbl_mat_parentesco.Visible = true;
                mat_parentesco.Checked = true;
                mat_parentesco.Visible = true;
            }
            else
            {
                lbl_mat_parentesco.Visible = false;
                mat_parentesco.Checked = false;
                mat_parentesco.Visible = false;
            }
        }
        else if (e.Tab.Text == "Materiais")
        {
            rapMateriais_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));
            imgbAdiconarMaterial.Visible = (lbl_alu_stexcluido.ForeColor != Color.Red);
        }
        else if (e.Tab.Text == "Eventos")
        {
            rapEventos_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));
            imgbAdiconarEvento.Visible = (lbl_alu_stexcluido.ForeColor != Color.Red);
        }
    }

    #region Dados Cadastrais
    
    //carregar os dados cadastrias no load da página
    protected void carregarAluno(string paluno_id)
    {
        ES_Aluno item = new BD_Aluno()._obter_Aluno_by_id(aluno_id.Text);
        hid_pessoa_id.Value = item.PESSOA_ID;
        pes_nome.Text = item.PES_NOME;
        pes_email.Text = item.PES_EMAIL;
        if (!string.IsNullOrEmpty(item.PES_ESTADOCIVIL)) pes_estadocivil.SelectedValue = item.PES_ESTADOCIVIL;
        try { if (!string.IsNullOrEmpty(item.PES_DTNASCIMENTO)) pes_dtnascimento.SelectedDate = Convert.ToDateTime(item.PES_DTNASCIMENTO); }
        catch { };
        pes_cpf.Text = item.PES_CPF;
        pes_rg.Text = item.PES_RG;
        if (!string.IsNullOrEmpty(item.PROFISSAO_ID))
        {
            profissao_id.DataSourceID = ods_profissao.ID;
            profissao_id.SelectedValue = item.PROFISSAO_ID;
        }
        if (!string.IsNullOrEmpty(item.MOTIVO_INGRESSO_ID))
        {
            motivo_ingresso_id.DataSourceID = ods_Motivo_ingresso.ID;
            motivo_ingresso_id.SelectedValue = item.MOTIVO_INGRESSO_ID;
        }
        if (!string.IsNullOrEmpty(item.ACADEMIA_ID))
        {
            academia_id.DataSourceID = ods_Academia.ID;
            academia_id.SelectedValue = item.ACADEMIA_ID;
        }
        alu_medicamento.Text = item.ALU_MEDICAMENTO;        
        if (!string.IsNullOrEmpty(item.CONVENIO_ID))
        {
            convenio_id.DataSourceID = ods_Convenios.ID;
            convenio_id.SelectedValue = item.CONVENIO_ID;
        }
        alu_stexcluido.SelectedValue = ((item.ALU_STEXCLUIDO == true) ? "1" : "0");
        if (item.ALU_STEXCLUIDO)
        {
            lbl_alu_stexcluido.ForeColor = Color.Red;
        }

        try
        {
            if (!string.IsNullOrEmpty(item.PES_DTNASCIMENTO))
                pes_dtnascimento.SelectedDate = Convert.ToDateTime(item.PES_DTNASCIMENTO);
        }
        catch { }

        alu_motivo_ingresso.Text = item.ALU_MOTIVO_INGRESSO;
        alu_indicaomedica.Text = item.ALU_INDICAOMEDICA;
    }

    //botão salvar dados do Aluno
    protected void imgbConfirmarDadosCad_Click(object sender, ImageClickEventArgs e)
    {
        if (hid_operacao.Value == "edit")
        {
            try
            {
                new NG_Aluno()._atualizar_Aluno(aluno_id.Text,
                                                hid_pessoa_id.Value,
                                                profissao_id.SelectedValue,
                                                motivo_ingresso_id.SelectedValue,
                                                alu_motivo_ingresso.Text,
                                                academia_id.SelectedValue,
                                                ((Session["SOLICITANTE_ID"] == null) ? "1" : Session["SOLICITANTE_ID"].ToString()),
                                                pes_nome.Text,
                                                pes_email.Text,
                                                pes_dtnascimento.SelectedDate.ToString(),
                                                pes_rg.Text,
                                                pes_cpf.Text,
                                                pes_estadocivil.SelectedValue,
                                                alu_medicamento.Text,
                                                convenio_id.SelectedValue,
                                                alu_indicaomedica.Text,
                                                false,
                                                ((alu_stexcluido.SelectedValue == "1")? true : false) 
                                                );

                if (alu_stexcluido.SelectedValue == "1")
                    lbl_alu_stexcluido.ForeColor = Color.Red;
                else
                    lbl_alu_stexcluido.ForeColor = Color.Black;

                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Informações gravadas com sucesso');", true);
            }
            catch 
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Erro ao validar.');", true);
            }

        }
        else if (hid_operacao.Value == "insert")
        {
            //validar se já existe um aluno com este nome
            ES_Pessoa pessoa = new BD_Pessoa()._obter_Pessoa_by_id(string.Empty,
                                                                   string.Empty,
                                                                   pes_nome.Text,
                                                                   pes_dtnascimento.SelectedDate.ToString());

            if (pessoa != null && !string.IsNullOrEmpty(pessoa.PESSOA_ID))
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Já existe um Aluno com este Nome/Dt nasc. Pesquise antes de inserir.');", true);
            else
            {
                string alunoID = new BD_Aluno().SP_INSERIR_ALUNO(string.Empty,
                                                                hid_pessoa_id.Value,
                                                                profissao_id.SelectedValue,
                                                                motivo_ingresso_id.SelectedValue,
                                                                alu_motivo_ingresso.Text,
                                                                academia_id.SelectedValue,
                                                                ((Session["SOLICITANTE_ID"] == null) ? "1" : Session["SOLICITANTE_ID"].ToString()),
                                                                pes_nome.Text,
                                                                ((!string.IsNullOrEmpty(pes_dtnascimento.Text)) ? pes_dtnascimento.SelectedDate.ToString() : string.Empty),
                                                                pes_rg.Text,
                                                                pes_cpf.Text,
                                                                pes_estadocivil.SelectedValue,
                                                                alu_medicamento.Text,
                                                                convenio_id.SelectedValue,
                                                                alu_indicaomedica.Text,
                                                                txbaluTelefoneFixo.Text,
                                                                txbaluTelefoneMovel.Text);
                //preparar modo de edição
                if (!string.IsNullOrEmpty(alunoID))
                    Response.Redirect("~/Matriculas/Aluno_cadastro.aspx?operacao=edit&ALUNO_ID=" + alunoID);
            }
        }
    }

    protected void profissao_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        profissao_id.DataSourceID = ods_profissao.ID;
        profissao_id.DataBind();
    }

    protected void motivo_ingresso_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        motivo_ingresso_id.DataSourceID = ods_Motivo_ingresso.ID;
        motivo_ingresso_id.DataBind();
    }

    protected void academia_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        academia_id.DataSourceID = ods_Academia.ID;
        academia_id.DataBind();
    }

    #endregion

    #region Responsáveis
    
    protected void profissao_pessoa_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        rcbResp_profissaoId.DataSourceID = ods_profissao.ID;
        rcbResp_profissaoId.DataBind();
    }

    protected void rapResponsaveis_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {

        //limpar e carregar dados do responsável selecionado no GRID
        limparDadosResponsaveis();
        if (!string.IsNullOrEmpty(e.Argument))
        {
            
            try
            {
                ES_Responsavel resp = new BD_Responsavel()._obter_Responsavel_Aluno_byId(e.Argument);

                //PESSOA_ID do Responsável = RESPONSAVEL_ID .:. Campo PESSOA_ID refere-se ao ID do Aluno
                resp_PESSOA_ID.Text = resp.RESPONSAVEL_ID;
                resp_ALUNO_RESP_ID.Text = resp.RESPONSAVEL_ALUNO_ID;
                rcbResp_falecido.Checked = resp.PES_FALECIDO;
                txtResp_nome.Text = resp.PES_NOME;
                txtResp_email.Text = resp.PES_EMAIL;
                if (!string.IsNullOrEmpty(resp.PES_DTNASCIMENTO))
                    dtResp_dataNasc.SelectedDate = Convert.ToDateTime(resp.PES_DTNASCIMENTO);
                mskResp_cpf.Text = resp.PES_CPF;
                if (!string.IsNullOrEmpty(resp.PROFISSAO_ID))
                {
                    rcbResp_profissaoId.DataSourceID = ods_profissao.ID;
                    rcbResp_profissaoId.DataBind();
                    rcbResp_profissaoId.SelectedValue = resp.PROFISSAO_ID;
                }
                txbRespTelefoneFixo.Text = resp.TEL_FIXO;
                txbRespTelefoneMovel.Text = resp.TEL_MOVEL;
                txbRespTelefoneTrab.Text = resp.TEL_COMERCIAL;
                if (!string.IsNullOrEmpty(resp.RES_GRAUPARENTESCO))
                    rcbRespGrauParentesco.SelectedValue = resp.RES_GRAUPARENTESCO;
            }
            catch
            { }
        }
        else
        {
            
        }
    }

    protected void limparDadosResponsaveis()
    {        
        resp_ALUNO_RESP_ID.Text = string.Empty;
        resp_PESSOA_ID.Text = string.Empty;
        txtResp_nome.Text = string.Empty;
        txtResp_email.Text = string.Empty;
        dtResp_dataNasc.Text = string.Empty;
        mskResp_cpf.Text = string.Empty;
        txtResp_rg.Text = string.Empty;
        mskResp_cpf.Text = "00000000000";
        rcbResp_profissaoId.Text = string.Empty;
        txbRespTelefoneFixo.Text = string.Empty;
        txbRespTelefoneMovel.Text = string.Empty;
        txbRespTelefoneTrab.Text = string.Empty;
        rcbRespGrauParentesco.SelectedValue = string.Empty;
        rcbRespGrauParentesco.Text = string.Empty;
        rcbResp_parentesco.Checked = false;
        rcbResp_falecido.Checked = false;
    }

    
    protected void mskResp_cpf_TextChanged(object sender, EventArgs e)
    {        
        if ((mskResp_cpf.Text != "00000000000") || (!string.IsNullOrEmpty(txtResp_nome.Text)))
        {
            //buscar pessoas pelo CPF/Nome
            ES_Pessoa pessoa = new BD_Pessoa()._obter_Pessoa_by_id( string.Empty,
                                                                    mskResp_cpf.Text,
                                                                    txtResp_nome.Text
                                                                   );
                                                                

            //Verificar se já existe Pessoa cadastrada com o mesmo CPF
            if (pessoa != null && !string.IsNullOrEmpty(pessoa.PESSOA_ID))
            {
                resp_PESSOA_ID.Text = pessoa.PESSOA_ID;

                //Verificar se o CPF/PESSOA informada já é um dos responsáveis pelo Aluno
                ES_Responsavel resp = new BD_Responsavel()._obter_Responsavel_Aluno_byId(string.Empty,
                                                                                         aluno_id.Text,
                                                                                         pessoa.PESSOA_ID);
                //caso o CPF/PESSOA já seja responsável pelo Aluno, recarregar o grid
                if (resp != null && !string.IsNullOrEmpty(resp.RESPONSAVEL_ALUNO_ID))
                    rapResponsaveis_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs(resp.RESPONSAVEL_ALUNO_ID));
                //senão preencher dados
                else
                {
                    txtResp_nome.Text = pessoa.PES_NOME;
                    if (mskResp_cpf.Text == "00000000000")
                        mskResp_cpf.Text = pessoa.PES_CPF;

                    resp_PESSOA_ID.Text = pessoa.PESSOA_ID;
                    if (!string.IsNullOrEmpty(pessoa.PES_DTNASCIMENTO))
                        dtResp_dataNasc.SelectedDate = Convert.ToDateTime(pessoa.PES_DTNASCIMENTO);

                    txtResp_rg.Text = pessoa.PES_RG;
                    txbRespTelefoneFixo.Text = pessoa.PES_FONERESID;
                    txbRespTelefoneTrab.Text = pessoa.PES_FONECOMERC;
                    txbRespTelefoneMovel.Text = pessoa.PES_FONEMOVEL;
                    txtResp_email.Text = pessoa.PES_EMAIL;
                    //carregar list de profissões
                    profissao_pessoa_id_ItemsRequested(new object(), new RadComboBoxItemsRequestedEventArgs());
                    rcbResp_profissaoId.SelectedValue = pessoa.PROFISSAO_ID;
                    rcbResp_parentesco.Checked = true;
                }
            }
            else
                txtResp_nome.Focus();
        }
    }

    

    protected void rapResponsaveisGrid_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_Responsavel.DataSourceID = ods_Responsavel.ID;
        rdg_Responsavel.DataBind();
    }

    protected void imgbPersistirResp_Click(object sender, ImageClickEventArgs e)
    {
        //Atualizar dados do Responsável
        if (!string.IsNullOrEmpty(resp_ALUNO_RESP_ID.Text))
        {
            new NG_Responsavel()._atualizar_Responsavel(resp_ALUNO_RESP_ID.Text,
                                                        aluno_id.Text,
                                                        resp_PESSOA_ID.Text,
                                                        rcbRespGrauParentesco.SelectedValue,
                                                        hid_pessoa_id.Value,
                                                        txtResp_nome.Text,
                                                        txtResp_email.Text,
                                                        dtResp_dataNasc.Text,
                                                        txtResp_rg.Text,
                                                        mskResp_cpf.Text.Replace("00000000000",""),
                                                        pes_estadocivil.SelectedValue,
                                                        rcbResp_profissaoId.SelectedValue,
                                                        ((Session["SOLICITANTE_ID"] == null) ? "1" : Session["SOLICITANTE_ID"].ToString()),
                                                        txbRespTelefoneFixo.Text,
                                                        txbRespTelefoneMovel.Text,
                                                        txbRespTelefoneTrab.Text,
                                                        rcbResp_falecido.Checked
                                                        );

        }
        else //Inserir dados do Responsável
        {
            if (!string.IsNullOrEmpty(aluno_id.Text))
            {
                //Quando as informações forem persistidas, verificar se o CPF/PESSOA inserida já existe 
                if (!string.IsNullOrEmpty(resp_PESSOA_ID.Text))
                {
                    new BD_Responsavel()._inserir_Responsavel_Aluno(null,
                                                                    aluno_id.Text,
                                                                    resp_PESSOA_ID.Text,
                                                                    rcbRespGrauParentesco.SelectedValue,
                                                                    hid_pessoa_id.Value
                                                                );


                }
                else
                {
                    //Caso não exista, chamar PROCEDURE que grava RESPONSAVEL/PESSOA
                    if (!string.IsNullOrEmpty(txtResp_nome.Text))
                            new BD_Responsavel().SP_INSERIR_RESPONSAVEL_ALUNO(aluno_id.Text,
                                                                              rcbResp_profissaoId.SelectedValue,
                                                                              ((Session["SOLICITANTE_ID"] == null) ? "1" : Session["SOLICITANTE_ID"].ToString()),
                                                                              txtResp_nome.Text,
                                                                              txtResp_email.Text,
                                                                              dtResp_dataNasc.SelectedDate.ToString(),
                                                                              txtResp_rg.Text,
                                                                              mskResp_cpf.Text.Replace("00000000000",""),
                                                                              rcbRespGrauParentesco.SelectedValue,
                                                                              hid_pessoa_id.Value,
                                                                              txbRespTelefoneFixo.Text,
                                                                              txbRespTelefoneMovel.Text,
                                                                              txbRespTelefoneTrab.Text,
                                                                              string.Empty);                    
                    else
                        ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('O Nome do Responsável deve ser preenchido.');", true);
                }             
            }
        }
        

        //Limpar campos
        limparDadosResponsaveis();

        //Atualizar grid
        rapResponsaveisGrid_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));
    }

    #endregion

    #region Endereços

    protected void rapEnderecos_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        if (!string.IsNullOrEmpty(e.Argument))
        {            
            //limpar os dados referentes ao endereço e carrega-los
            limparDadosEndereco();

            ES_Endereco end = new BD_Endereco()._obter_Endereco_by_id(e.Argument);
            end_ENDERECO_ID.Text = end.ENDERECO_ID;
            end_cep.Text = end.END_CEP;
            end_logradouro.Text = end.END_LOGRADOURO;
            if (!string.IsNullOrEmpty(end.ENDERECO_TIPO_ID))
            {
                //carregar tipos de endereços
                endereco_tipo_id.DataSourceID = ods_Endereco_tipo.ID;
                endereco_tipo_id.DataBind();
                endereco_tipo_id.SelectedValue = end.ENDERECO_TIPO_ID;
            }
            end_numero.Text = end.END_NUMERO;
            end_complemento.Text = end.END_COMPLEMENTO;
            end_bairro.Text = end.END_BAIRRO;
            end_cidade.Text = end.END_CIDADE;
            end_uf.Text = end.END_UF;
            end_stexcluido.Checked = end.END_STEXCLUIDO;
            if (!string.IsNullOrEmpty(end.RESPONSAVEL_ID))
            {
                //carregar lista de responsaveis
                end_responsavel_id.DataSourceID = ods_Responsavel.ID;
                end_responsavel_id.DataBind();
                end_responsavel_id.SelectedValue = end.RESPONSAVEL_ID;
            }
        }
        else
        {
          
        }
    }

    protected void rapEnderecosGrid_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_Enderecos.DataSourceID = ods_Endereco.ID;
        rdg_Enderecos.DataBind();
    }

    protected void limparDadosEndereco()
    {
        end_cep.Text = string.Empty;
        end_logradouro.Text = string.Empty;
        endereco_tipo_id.Text = string.Empty;
        end_numero.Text = string.Empty;
        end_complemento.Text = string.Empty;
        end_bairro.Text = string.Empty;
        end_cidade.Text = string.Empty;
        end_uf.Text = string.Empty;
        end_responsavel_id.Text = string.Empty;
        end_ENDERECO_ID.Text = string.Empty;        
    }

    protected void end_responsavel_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        end_responsavel_id.DataSourceID = ods_Responsavel.ID;
        end_responsavel_id.DataBind();
    }

    protected void end_cep_TextChanged(object sender, EventArgs e)
    {
        if (end_cep.Text.Replace("-", "").Trim().Length == 8)
        {
            //Validar se o CEP informado já é endereço do Aluno
            ES_Endereco endAluno = new BD_Endereco()._obter_Endereco_by_id(string.Empty, 
                                                                           aluno_id.Text, 
                                                                           end_cep.Text);

            if (endAluno != null && !string.IsNullOrEmpty(endAluno.ENDERECO_ID))
            {
                rapEnderecos_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs(endAluno.ENDERECO_ID));
            }
            else if (System.Configuration.ConfigurationManager.AppSettings["buscaCEP"].ToString() == "true")
            {
                //Caso o endereço não esteja associado ao Aluno, carregar dados com base no CEP .:. se a busca estiver habilitada
                string endereco = new Frame.CEP(end_cep.Text).retornaCepString();
                if (!string.IsNullOrEmpty(endereco))
                {
                    string[] arrayEndereco = endereco.Split(';');
                    end_uf.Text = arrayEndereco[0];
                    end_cidade.Text = arrayEndereco[1];
                    end_bairro.Text = arrayEndereco[2];
                    end_logradouro.Text = arrayEndereco[3] + " " + arrayEndereco[4];
                    end_numero.Focus();
                }
            }
            else
                end_logradouro.Focus();
        }
        else
        {            
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('CEP inválido.');", true);
            end_cep.Focus();
        }
    }

    
    protected void imgbPersistirEnd_Click(object sender, ImageClickEventArgs e)
    {
        //Atualizar Endereço
        if (!string.IsNullOrEmpty(end_ENDERECO_ID.Text))
        {

            new BD_Endereco()._atualizar_Endereco(end_ENDERECO_ID.Text,
                                                    aluno_id.Text,
                                                    endereco_tipo_id.SelectedValue,
                                                    end_logradouro.Text,
                                                    end_numero.Text,
                                                    end_complemento.Text,
                                                    end_bairro.Text,
                                                    end_cidade.Text,
                                                    end_cep.Text,
                                                    end_uf.Text,
                                                    end_responsavel_id.SelectedValue,//PESSOA_ID A QUAL O ENDEREÇO ESTÁ ASSOCIADO
                                                    end_stexcluido.Checked
                                                    );
        }
        //Inserir Endereço
        else
        {
            if (!string.IsNullOrEmpty(aluno_id.Text))
            {
                new BD_Endereco()._inserir_Endereco(
                                                        aluno_id.Text,
                                                        endereco_tipo_id.SelectedValue,
                                                        end_logradouro.Text,
                                                        end_numero.Text,
                                                        end_complemento.Text,
                                                        end_bairro.Text,
                                                        end_cidade.Text,
                                                        end_cep.Text,
                                                        end_uf.Text,
                                                        end_responsavel_id.SelectedValue, //PESSOA_ID A QUAL O ENDEREÇO ESTÁ ASSOCIADO
                                                        end_stexcluido.Checked
                                                        );

            }
        }

        //Limpar dados 
        limparDadosEndereco();

        //Atualizar Grid
        rapEnderecosGrid_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));
    }

    protected void endereco_tipo_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        endereco_tipo_id.DataSourceID = ods_Endereco_tipo.ID;
        endereco_tipo_id.DataBind();
    }

    #endregion

    #region Matriculas

    protected void rapMatriculas_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        if (!string.IsNullOrEmpty(e.Argument))
        {
            if (e.Argument != "turma_id")
            {
                //garantir que todas as turmas serão carregas, inclusive turmas inativas associadas à matrícula do aluno
                turExcluido = "-1";

                limparDadosMatricula();

                /*-- Itens inalteráveis da Matrícula--*/
                //mat_turma_id.Enabled = false;
                mat_dt_inicio.ReadOnly = true;
                mat_MATRICULA_ID.Text = e.Argument;

                ES_Matricula mat = new BD_Matricula()._obter_Matricula_by_id(e.Argument);
                if (!string.IsNullOrEmpty(mat.TURMA_ID))
                {
                    mat_turma_id.DataSourceID = ods_Turmas.ID;
                    mat_turma_id.DataBind();
                    mat_turma_id.SelectedValue = mat.TURMA_ID;
                    mat_turma_id_SelectedIndexChanged(new object(), new RadComboBoxSelectedIndexChangedEventArgs(mat.TUR_DESCRICAO, mat_turma_id.Text, mat.TURMA_ID, mat_turma_id.SelectedValue));
                }
                if (!string.IsNullOrEmpty(mat.MODALIDADE_ID))
                {
                    mat_modalidade_id.DataSourceID = ods_Modalidades.ID;
                    mat_modalidade_id.DataBind();
                    mat_modalidade_id.SelectedValue = mat.MODALIDADE_ID;
                }
                if (!string.IsNullOrEmpty(mat.NIVEL_ID))
                {
                    mat_nivel_id.DataSourceID = ods_Nivel.ID;
                    mat_nivel_id.DataBind();
                    mat_nivel_id.SelectedValue = mat.NIVEL_ID;
                }
                if (!string.IsNullOrEmpty(mat.BOLSA_ID))
                {
                    mat_bolsa_id.DataSourceID = ods_Bolsas.ID;
                    mat_bolsa_id.DataBind();
                    mat_bolsa_id.SelectedValue = mat.BOLSA_ID;
                }
                if (!string.IsNullOrEmpty(mat.MAT_DTINCLUSAO))
                    mat_dt_inicio.SelectedDate = Convert.ToDateTime(mat.MAT_DTINCLUSAO);

                mat_isentotxparticipacao.SelectedIndex = (mat.MAT_ISENTOTXPARTICIPACAO == "N") ? 0 : 1;
                //tratar comportamento quando isento
                if (mat_isentotxparticipacao.SelectedIndex == 1)
                {
                    mat_txparticipacao.ReadOnly = true;
                }
                else
                {
                    mat_txparticipacao.ReadOnly = true;
                    if (!string.IsNullOrEmpty(mat.MAT_TXPARTICIPACAO))
                        mat_txparticipacao.Text = mat.MAT_TXPARTICIPACAO;
                    else
                        mat_txparticipacao.Text = new BD_Parametro()._obter_Parametro_by_id(string.Empty, "taxa_festival").PRM_VALOR;
                }

                mat_diavencimento.Text = mat.MAT_DIAVENCIMENTO;
                mat_vrmensalidade.Text = mat.MAT_VRMENSALIDADE.Replace(",", ".");

            }
            else
            {
                //garantir que somente turmas ATIVAS serão carregas.
                turExcluido = "0";

                    //limpar combo de modalidade
                mat_modalidade_id.ClearSelection();
                mat_modalidade_id.Text = string.Empty;
                mat_modalidade_id.SelectedIndex = -1;
                    //limpar combo de nível
                mat_nivel_id.ClearSelection();
                mat_nivel_id.Text = string.Empty;
                mat_nivel_id.SelectedIndex = -1;

                if (!string.IsNullOrEmpty(mat_turma_id.SelectedValue))
                {
                    ES_Turma turma = new BD_Turma()._obter_Turma_by_id(mat_turma_id.SelectedValue);
                    if (!string.IsNullOrEmpty(turma.MODALIDADE_ID))
                    {
                        mat_modalidade_id_ItemsRequested(new object(), new RadComboBoxItemsRequestedEventArgs());
                        mat_modalidade_id.SelectedValue = turma.MODALIDADE_ID;
                    }
                    if (!string.IsNullOrEmpty(turma.NIVEL_ID))
                    {
                        mat_nivel_id_ItemsRequested(new object(), new RadComboBoxItemsRequestedEventArgs());
                        mat_nivel_id.SelectedValue = turma.NIVEL_ID;
                    }
                    mat_vrmensalidade.Text = turma.TUR_VALORREFERENCIA;
                    if (string.IsNullOrEmpty(mat_dt_inicio.Text))
                        mat_dt_inicio.SelectedDate = System.DateTime.Now;
                    mat_diavencimento.Focus();
                }
            }
        }
        
    }

    protected void mat_isentotxparticipacao_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (mat_isentotxparticipacao.SelectedIndex == 1)
            mat_txparticipacao.ReadOnly = true;
        else
        {
            mat_txparticipacao.ReadOnly = false;
            mat_txparticipacao.Text = new BD_Parametro()._obter_Parametro_by_id(string.Empty, "taxa_festival").PRM_VALOR;
        }
    }

    protected void limparDadosMatricula()
    {                
        mat_dt_inicio.ReadOnly = false;
        mat_dt_inicio.ReadOnly = false;
            //limpar combo de turma
        mat_turma_id.ClearSelection();
        mat_turma_id.Text = string.Empty;
        mat_turma_id.SelectedIndex = -1;        
            //limpar combo de modalidade
        mat_modalidade_id.ClearSelection();
        mat_modalidade_id.Text = string.Empty;
        mat_modalidade_id.SelectedIndex = -1;
            //limpar combo de nível
        mat_nivel_id.ClearSelection();
        mat_nivel_id.Text = string.Empty;
        mat_nivel_id.SelectedIndex = -1;                        
            //limpar combo de bolsa        
        mat_bolsa_id.ClearSelection();
        mat_bolsa_id.Text = string.Empty;
        mat_bolsa_id.SelectedIndex = -1;  

        mat_dt_inicio.Text = string.Empty;
        mat_txparticipacao.Text = string.Empty;
        mat_vrmensalidade.Text = string.Empty;
        mat_diavencimento.Text = string.Empty;
        mat_MATRICULA_ID.Text = string.Empty;
        
    }

    protected void mat_turma_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        mat_turma_id.DataSourceID = ods_Turmas.ID;
        mat_turma_id.DataBind();
    }
    protected void mat_turma_id_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e)
    {
        rapMatriculas_AjaxRequest(new object(), new AjaxRequestEventArgs("turma_id"));
    }

    protected void mat_modalidade_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        mat_modalidade_id.DataSourceID = ods_Modalidades.ID;
        mat_modalidade_id.DataBind();
    }
    protected void mat_bolsa_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        mat_bolsa_id.DataSourceID = ods_Bolsas.ID;
        mat_bolsa_id.DataBind();
    }
    protected void convenio_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        convenio_id.DataSourceID = ods_Convenios.ID;
        convenio_id.DataBind();
    }
    protected void mat_nivel_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        mat_nivel_id.DataSourceID = ods_Nivel.ID;
        mat_nivel_id.DataBind();
    }
    protected void pag_matricula_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pag_matricula_id.DataSourceID = ods_Matriculas.ID;
        pag_matricula_id.DataBind();
    }
    

    protected void imgbPersistirMat_Click(object sender, ImageClickEventArgs e)
    {
        //Atualizar Dados da Matrícula
        if (!string.IsNullOrEmpty(mat_MATRICULA_ID.Text))
        {
            new BD_Matricula()._atualizar_Matricula(mat_MATRICULA_ID.Text,
                                                    aluno_id.Text,
                                                    mat_turma_id.SelectedValue,
                                                    mat_bolsa_id.SelectedValue,
                                                    mat_dt_inicio.SelectedDate.ToString(),
                                                    null,
                                                    null,
                                                    mat_modalidade_id.SelectedValue,
                                                    mat_vrmensalidade.Text,
                                                    null,
                                                    (mat_isentotxparticipacao.SelectedIndex == 0) ? "N" : "S",
                                                    mat_txparticipacao.Text,
                                                    mat_nivel_id.SelectedValue,
                                                    mat_diavencimento.Text);
        }
        //Inserir nova Matrícula
        else
        {
            new NG_Matricula()._inserir_Matricula(  aluno_id.Text,
                                                    mat_turma_id.SelectedValue,
                                                    mat_bolsa_id.SelectedValue,
                                                    mat_dt_inicio.SelectedDate.ToString(),
                                                    null,
                                                    null,
                                                    mat_modalidade_id.SelectedValue,
                                                    mat_vrmensalidade.Text,
                                                    null,
                                                    (mat_isentotxparticipacao.SelectedIndex == 0) ? "N" : "S",
                                                    mat_txparticipacao.Text,
                                                    mat_nivel_id.SelectedValue,
                                                    mat_diavencimento.Text, 
                                                    //
                                                    mat_confirmapag.Checked,
                                                    //
                                                    mat_vrmensalidade.Text,
                                                    mat_vrmensalidade.Text,
                                                    null,
                                                    null,
                                                    null,
                                                    mat_dt_inicio.SelectedDate.ToString(),
                                                    mat_dt_inicio.SelectedDate.Value.Year.ToString(),
                                                    mat_dt_inicio.SelectedDate.Value.Month.ToString(),
                                                    "0",
                                                    "2",
                                                    null,
                                                    null,
                                                    null
                                                    );

        }
        
        //Limpar dados
        limparDadosMatricula();

        //Atualizar Grid
        rapMatriculasGrid_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));
    }

    protected void imgbEmitirRecMat_Click(object sender, ImageClickEventArgs e)
    {
        if (!string.IsNullOrEmpty(mat_MATRICULA_ID.Text))
        {
            string strSQL = "SELECT PAGAMENTO_ID, MATRICULA_ID, PES_NOME, MOD_DESCRICAO, PAG_ANOREFERENCIA, PAG_MESREFERENCIA, NIV_DESCRICAO, PAG_DTPAMENTO, TUR_DESCRICAO, PAG_VALORPAGO, PAGAMENTO_TIPO_ID, PTO_DESCRICAO, FORMA_PAGAMENTO_ID, DIA_IMPRES, MES_IMPRES, ANO_IMPRES, "+
                            "        'Belo Horizonte, '+CAST(DIA_IMPRES AS VARCHAR(2))+' de '+MES_IMPRESEXTENSO+' de '+CAST(ANO_IMPRES AS VARCHAR(4))  AS DTA_IMPRES " +
                            "FROM VW_RPTPAGAMENTO_RECIBO "+
                            "WHERE PAGAMENTO_TIPO_ID = 2 "+
                            "AND MATRICULA_ID = "+mat_MATRICULA_ID.Text+
                            " AND DATEPART(YEAR,PAG_DTPAMENTO) = DATEPART(YEAR,'"+Util.formataData(mat_dt_inicio.SelectedDate.ToString(), "dd/MM/yyyy")+"') ";

            string errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "ReciboPagamento",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1");
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Selecione uma Matrícula para emitir o recibo')", true);
            
        }
    }

    protected void rapMatriculasGrid_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_matriculas.DataSourceID = ods_Matriculas.ID;
        rdg_matriculas.DataBind();
    }

    protected void ods_Nivel_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {

    }

    protected void ods_Turmas_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["TUR_STEXCLUIDO"] = (string.IsNullOrEmpty(turExcluido))? "0" : turExcluido;
    }

    protected void rdg_matriculas_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            try
            {
                string inativo = DataBinder.Eval(e.Item.DataItem, "MAT_STEXCLUIDO").ToString();
                if (inativo != "0")
                    e.Item.BackColor = Color.Gray;
            }
            catch
            { }
        }
        
    }

    #endregion

    #region Pagamentos

    protected void pag_anoreferencia_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pag_anoreferencia.DataSourceID = ods_PagamentoAno.ID;
        pag_anoreferencia.DataBind();
    }
    protected void ods_PagamentoAno_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["MATRICULA_ID"] = pag_matricula_id.SelectedValue;
    }
    protected void pag_formapagamento_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pag_formapagamento_id.DataSourceID = ods_FromaPagamento.ID;
        pag_formapagamento_id.DataBind();
    }

    protected void imgbAdiconarPagamento_Click(object sender, ImageClickEventArgs e)
    {

    }
    protected void ods_Pagamentos_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["MATRICULA_ID"] = pag_matricula_id.SelectedValue;
        e.InputParameters["MENSALIDADES_EM_ABERTO"] = (ckb_pagamentos_aberto.Checked) ? "S" : "N";
        e.InputParameters["PAG_ANOREFERENCIA"] = pag_anoreferencia.SelectedValue;
        e.InputParameters["PAG_MESREFERENCIA"] = pag_mesreferencia.SelectedValue;
    }
    protected void rapMensalidades_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_mensalidades.DataSourceID = ods_Pagamentos.ID;
        rdg_mensalidades.DataBind();
    }
    protected void pag_bolsa_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        pag_bolsa_id.DataSourceID = ods_Bolsas.ID;
        pag_bolsa_id.DataBind();
    }

    #endregion

    #region Materiais

    protected void ods_Material_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["ALUNO_ID"] = aluno_id.Text;
    }
    protected void mat_material_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        mat_material_id.DataSourceID = ods_MaterialVigente.ID;
        mat_material_id.DataBind();
    }
    protected void imgbAdiconarMaterial_Click(object sender, ImageClickEventArgs e)
    {

        if (Convert.ToInt32(mat_quantidadedisp.Text) >= Convert.ToInt32(mat_quantidadesolicit.Text))
        {
            try
            {
                new NG_Aluno_material()._inserir_Aluno_material(null,
                                                                aluno_id.Text,
                                                                mat_material_id.SelectedValue,
                                                                mat_quantidadesolicit.Text,
                                                                System.DateTime.Now.ToString(),
                                                                null,

                                                                (Convert.ToInt32(mat_quantidadedisp.Text) - Convert.ToInt32(mat_quantidadesolicit.Text)).ToString(),
                                                                string.Empty,
                                                                mat_valorPago.Text,
                                                                mat_valor.Text,
                                                                string.Empty,
                                                                string.Empty,
                                                                string.Empty,
                                                                System.DateTime.Now.ToString(),
                                                                string.Empty,
                                                                string.Empty,
                                                                string.Empty,
                                                                "7",
                                                                string.Empty,
                                                                string.Empty);

                                                                

                                                               

                //Atualizar o grid
                rapMateriais_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));

                //Limpar campos
                mat_material_id.ClearSelection();
                mat_material_id.Text = string.Empty;
                mat_modalidade.Text = string.Empty;
                mat_valor.Text = string.Empty;
                mat_valorPago.Text = string.Empty;
                mat_quantidadedisp.Text = string.Empty;
                mat_quantidadesolicit.Text = string.Empty;
            }
            catch
            {
            }
        }
        else
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Quantidade insuficiente.');", true);
    }
    protected void imgbEmitirRecMaterial_Click(object sender, ImageClickEventArgs e)
    {
        if (!string.IsNullOrEmpty(hid_ALUNO_MATERIAL_ID.Value))
        {
            string strSQL = "SELECT PAGAMENTO_ID, MATRICULA_ID, PES_NOME, MOD_DESCRICAO, PAG_ANOREFERENCIA, PAG_MESREFERENCIA, NIV_DESCRICAO, PAG_DTPAMENTO, TUR_DESCRICAO, PAG_VALORPAGO, PAGAMENTO_TIPO_ID, PTO_DESCRICAO, FORMA_PAGAMENTO_ID, DIA_IMPRES, MES_IMPRES, ANO_IMPRES, " +
                            "       MATERIAL_ID, MTR_DESCRICAO, MTR_OBSERVACAO, MATERIAL_MODALIDADE_ID, MMD_DESCRICAO, EVENTO_ID, EVT_DESCRICAO, EVENTO_MODALIDADE_ID, EVM_DESCRICAO, EVT_OBS, " +
                            "       CASE WHEN PAGAMENTO_TIPO_ID = 7 THEN MTR_OBSERVACAO ELSE EVT_OBS END OBSERVACAO, "+
                            "       'Belo Horizonte, '+CAST(DIA_IMPRES AS VARCHAR(2))+' de '+MES_IMPRESEXTENSO+' de '+CAST(ANO_IMPRES AS VARCHAR(4))  AS DTA_IMPRES " +
                            "FROM VW_RPTPAGAMENTO_RECIBO " +
                            "WHERE PAGAMENTO_TIPO_ID = 7 " +//Tipo de pagamento Material
                            "AND ALUNO_MATERIAL_ID = " + hid_ALUNO_MATERIAL_ID.Value;

            string errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "ReciboPagamentoMatEve",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1");  
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Selecione um Material adiquirido para emitir o recibo')", true);

        }
    }
    protected void mat_material_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (!string.IsNullOrEmpty(mat_material_id.SelectedValue))
        {
            ES_Material item = new BD_Material()._obter_Material_by_id(mat_material_id.SelectedValue);
            mat_modalidade.Text = item.MMD_DESCRICAO;
            mat_valor.Text = item.MTR_VALOR;
            mat_valorPago.Text = item.MTR_VALOR;
            mat_quantidadedisp.Text = item.MTR_QUANTIDADEDISP;

        }
    }
    protected void rapMateriais_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_MaterialAluno.DataSourceID = ods_Materiais.ID;
        rdg_MaterialAluno.DataBind();
        
    }
    protected void ods_MaterialVigente_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["MTR_VIGENTE"] = "S";
    }

    protected void rdg_MaterialAluno_ItemCreated(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            try
            {
                //Imprimir Recibo
                //ImageButton imgImprimirRecibo = (ImageButton)e.Item.FindControl("imgGridImprimirRecibo");
                //imgImprimirRecibo.Attributes["onclick"] = String.Format("return PrintRecMaterial('{0}','{1}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ALUNO_MATERIAL_ID"], e.Item.ItemIndex);

            }
            catch
            { }

        }
    }


    #endregion

    #region Evento

    protected void ods_EventoVigente_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["EVT_VIGENTE"] = "S";
    }
    protected void eve_evento_id_ItemsRequested(object o, Telerik.Web.UI.RadComboBoxItemsRequestedEventArgs e)
    {
        eve_evento_id.DataSourceID = ods_EventoVigente.ID;
        eve_evento_id.DataBind();
    }
    protected void imgbAdiconarEvento_Click(object sender, ImageClickEventArgs e)
    {
        //Consistir dados e persistir
        bool persistir = true;
        if (!string.IsNullOrEmpty(eve_vagasdisp.Text))
        {
            if (Convert.ToInt32(eve_vagasdisp.Text) < 0)
            {
                persistir = false;
            }
        }
        if (persistir)
        {
            new NG_Aluno_evento()._inserir_Aluno_evento(aluno_id.Text,
                                                        eve_evento_id.SelectedValue,
                                                        System.DateTime.Now.ToString(),
                                                        eve_valorpago.Text,
                                                        //
                                                        eve_vagasdisp.Text,
                                                        //
                                                        eve_valorpago.Text,
                                                        eve_valor.Text,
                                                        string.Empty,
                                                        string.Empty,
                                                        string.Empty,
                                                        System.DateTime.Now.ToString(),
                                                        string.Empty,
                                                        string.Empty,
                                                        string.Empty,
                                                        "6",
                                                        string.Empty,
                                                        string.Empty);


            //Limpar campos            
            eve_evento_id.ClearSelection();
            eve_evento_id.Text = string.Empty;
            eve_modalidade.Text = string.Empty;
            eve_valor.Text = string.Empty;
            eve_vagasdisp.Text = string.Empty;
            eve_valor.Text = string.Empty;

            //Atualizar grid
            rapEventos_AjaxRequest(new object(), new Telerik.Web.UI.AjaxRequestEventArgs("load"));

        }
        else
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Vagas insuficientes.');", true);
    }
    protected void eve_evento_id_SelectedIndexChanged(object o, Telerik.Web.UI.RadComboBoxSelectedIndexChangedEventArgs e)
    {
        if (!string.IsNullOrEmpty(eve_evento_id.SelectedValue))
        {
            ES_Evento item = new BD_Evento()._obter_Evento_by_id(eve_evento_id.SelectedValue);
            eve_modalidade.Text = item.EVM_DESCRICAO;
            eve_valor.Text = item.EVT_VALOR;
            eve_vagasdisp.Text = item.EVT_VAGASDISP;
            eve_valorpago.Text = item.EVT_VALOR;
        }
    }

    protected void rapEventos_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        rdg_EventoAluno.DataSourceID = ods_Evento.ID;
        rdg_EventoAluno.DataBind();
    }

    protected void imgbEmitirRecEvento_Click(object sender, ImageClickEventArgs e)
    {
        if (!string.IsNullOrEmpty(hid_ALUNO_EVENTO_ID.Value))
        {
            string strSQL = "SELECT PAGAMENTO_ID, MATRICULA_ID, PES_NOME, MOD_DESCRICAO, PAG_ANOREFERENCIA, PAG_MESREFERENCIA, NIV_DESCRICAO, PAG_DTPAMENTO, TUR_DESCRICAO, PAG_VALORPAGO, PAGAMENTO_TIPO_ID, PTO_DESCRICAO, FORMA_PAGAMENTO_ID, DIA_IMPRES, MES_IMPRES, ANO_IMPRES, " +
                            "       MATERIAL_ID, MTR_OBSERVACAO, MTR_DESCRICAO, MATERIAL_MODALIDADE_ID, MMD_DESCRICAO, EVENTO_ID, EVT_DESCRICAO, EVENTO_MODALIDADE_ID, EVM_DESCRICAO, EVT_OBS, " +
                            "       'Belo Horizonte, '+CAST(DIA_IMPRES AS VARCHAR(2))+' de '+MES_IMPRESEXTENSO+' de '+CAST(ANO_IMPRES AS VARCHAR(4))  AS DTA_IMPRES, " +
                            "       CASE WHEN PAGAMENTO_TIPO_ID = 7 THEN MTR_OBSERVACAO ELSE EVT_OBS END OBSERVACAO "+
                            "FROM VW_RPTPAGAMENTO_RECIBO " +
                            "WHERE PAGAMENTO_TIPO_ID = 6 " +//Tipo de pagamento Evento
                            "AND ALUNO_EVENTO_ID = " + hid_ALUNO_EVENTO_ID.Value;

            string errorReport = new GerarPDF()._exportarReportViewerPDF(strSQL,
                                                                        Server.MapPath("~/Relatorios/"),
                                                                        "ReciboPagamentoMatEve",
                                                                        string.Empty,
                                                                        "_" + Session.SessionID,
                                                                        "DataSet1");
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAjax", "alert('Selecione um Evento adiquirido para emitir o recibo')", true);

        }

    }

    #endregion

    #region DataSources
    protected void ods_Endereco_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["ALUNO_ID"] = aluno_id.Text;
    }    
    protected void ods_Matricula_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["ALUNO_ID"] = aluno_id.Text;
        e.InputParameters["TODAS"] = false;
    }
    protected void ods_Responsavel_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        e.InputParameters["ALUNO_ID"] = aluno_id.Text;
    }



    #endregion
        

    #region ComboBox
    
    
    
    
    #endregion









    
}